/**
 * @file FloodFillTool.hpp
 *
 * @date 25/12/2011
 * @author Tales 
 *
 */

#ifndef _CONTROLLER_FLOODFILLTOOL_HPP_
#define _CONTROLLER_FLOODFILLTOOL_HPP_

#include "Tool.hpp"
#include <utility>

namespace yep
{
using namespace yep;

/**
 * @brief Preenche área contígua
 */
class FloodFillTool: public yep::Tool
{
public:
	FloodFillTool();

	virtual void start();

	virtual void end();

	virtual void pressed(pair<int, int> pos, bool leftButton, bitset<5> state);

	virtual void released(pair<int, int> pos,bool leftButton, bitset<5> state);

	virtual void moved(pair<int, int> pos, pair<int, int> offset, std::bitset<5> state);
private:
	pair<int, int> position;
	bool buttonPressed;
};

} /* namespace yep */
#endif /* _CONTROLLER_FLOODFILLTOOL_HPP_ */
